const fs = require("fs");
const unzipper = require("unzipper");
const path = require("path");
const EpubParser = require("epub-parser");
const jschardet = require("jschardet");
const { Readable } = require("stream");

module.exports = {
  async upload(ctx) {
    const file = ctx.request.files.file;
    const buffer = await fs.readFileSync(file.filepath);

    // 假设epubStream是获取到的epub文件流
    // const epubStream = new Readable();

    // 这里应该已经正确地将epub文件内容填充到epubStream中，例如通过pipe等操作

    // EpubParser(epubStream)
    //   .then((epub) => {
    //     const text = epub.getTextContent();
    //     console.log(text);
    //     // 这里可以对获取到的文本内容进行进一步处理，例如提取单词等
    //   })
    //   .catch((error) => {
    //     console.error("Error parsing EPUB:", error);
    //   });

    // const tempFilePath = filePath + ".unzip";

    // //返回一个readStream（文件读取流，输入流）对象。（可读流）
    // await fs
    //   .createReadStream(filePath)
    //   .pipe(unzipper.Extract({ path: tempFilePath }))
    //   .promise();
    // const contentDir = path.join(tempFilePath, "OEBPS");
    // const files = fs.readdirSync(contentDir);
    // console.log(files, "contentDir", contentDir);
    ctx.body = "成功喽";
    return "上传成功";
  },
};
